// /**
//  * Ant Design Pro v4 use `@ant-design/pro-layout` to handle Layout.
//  *
//  * @see You can view component api by: https://github.com/ant-design/ant-design-pro-layout
//  */
// import ProLayout, { DefaultFooter } from '@ant-design/pro-layout';
// import React, { useEffect, useMemo, useRef } from 'react';
// import { Link, useIntl, connect, history } from 'umi';
// import { GithubOutlined } from '@ant-design/icons';
// import { Result, Button } from 'antd';
// import Authorized from '@/utils/Authorized';
// import RightContent from '@/components/GlobalHeader/RightContent';
// import { getMatchMenu } from '@umijs/route-utils';
// import logo from '../assets/logo.svg';
// const noMatch = (
//   <Result
//     status={403}
//     title="403"
//     subTitle="Sorry, you are not authorized to access this page."
//     extra={
//       <Button type="primary">
//         <Link to="/user/login">Go Login</Link>
//       </Button>
//     }
//   />
// );
//
// /** Use Authorized check all menu item */
// const menuDataRender = (menuList) =>
//   menuList.map((item) => {
//     const localItem = {
//       ...item,
//       children: item.children ? menuDataRender(item.children) : undefined,
//     };
//     return Authorized.check(item.authority, localItem, null);
//   });
//
// const defaultFooterDom = (
//   <DefaultFooter
//     copyright={`${new Date().getFullYear()} Produced by Ant Group Experience Technology Department`}
//     links={[
//       {
//         key: 'Ant Design Pro',
//         title: 'Ant Design Pro',
//         href: 'https://pro.ant.design',
//         blankTarget: true,
//       },
//       {
//         key: 'github',
//         title: <GithubOutlined />,
//         href: 'https://github.com/ant-design/ant-design-pro',
//         blankTarget: true,
//       },
//       {
//         key: 'Ant Design',
//         title: 'Ant Design',
//         href: 'https://ant.design',
//         blankTarget: true,
//       },
//     ]}
//   />
// );
//
// const BasicLayout = (props) => {
//   const {
//     dispatch,
//     children,
//     settings,
//     location = {
//       pathname: '/',
//     },
//   } = props;
//   const menuDataRef = useRef([]);
//   useEffect(() => {
//     if (dispatch) {
//       dispatch({
//         type: 'user/fetchCurrent',
//       });
//     }
//   }, []);
//   /** Init variables */
//
//   const handleMenuCollapse = (payload) => {
//     if (dispatch) {
//       dispatch({
//         type: 'global/changeLayoutCollapsed',
//         payload,
//       });
//     }
//   }; // get children authority
//
//   const authorized = useMemo(
//     () =>
//       getMatchMenu(location.pathname || '/', menuDataRef.current).pop() || {
//         authority: undefined,
//       },
//     [location.pathname],
//   );
//   const { formatMessage } = useIntl();
//   return (
//     <ProLayout
//       logo={logo}
//       formatMessage={formatMessage}
//       {...props}
//       {...settings}
//       onCollapse={handleMenuCollapse}
//       onMenuHeaderClick={() => history.push('/')}
//       menuItemRender={(menuItemProps, defaultDom) => {
//         if (
//           menuItemProps.isUrl ||
//           !menuItemProps.path ||
//           location.pathname === menuItemProps.path
//         ) {
//           return defaultDom;
//         }
//
//         return <Link to={menuItemProps.path}>{defaultDom}</Link>;
//       }}
//       breadcrumbRender={(routers = []) => [
//         {
//           path: '/',
//           breadcrumbName: formatMessage({
//             id: 'menu.home',
//           }),
//         },
//         ...routers,
//       ]}
//       itemRender={(route, params, routes, paths) => {
//         const first = routes.indexOf(route) === 0;
//         return first ? (
//           <Link to={paths.join('/')}>{route.breadcrumbName}</Link>
//         ) : (
//           <span>{route.breadcrumbName}</span>
//         );
//       }}
//       footerRender={() => {
//         if (settings.footerRender || settings.footerRender === undefined) {
//           return defaultFooterDom;
//         }
//
//         return null;
//       }}
//       menuDataRender={menuDataRender}
//       rightContentRender={() => <RightContent />}
//       postMenuData={(menuData) => {
//         menuDataRef.current = menuData || [];
//         return menuData || [];
//       }}
//       waterMarkProps={{
//         content: 'Ant Design Pro',
//         fontColor: 'rgba(24,144,255,0.15)',
//       }}
//     >
//       <Authorized authority={authorized.authority} noMatch={noMatch}>
//         {children}
//       </Authorized>
//     </ProLayout>
//   );
// };
//
// export default connect(({ global, settings }) => ({
//   collapsed: global.collapsed,
//   settings,
// }))(BasicLayout);

// add20210623@author:lf
import ProLayout from '@ant-design/pro-layout';
import React from 'react';
import {connect, Link} from 'umi';
import logo from '../assets/logo.svg';

import {DefaultFooter} from '@ant-design/pro-layout';
import {Avatar, Input} from 'antd';
import {UserOutlined} from '@ant-design/icons';


const BasicLayout = props => {
  const {dispatch, children, settings} = props;
  const handleMenuCollapse = payload => {
    dispatch({
      type: 'global/changeLayoutCollapsed',
      payload
    });
  };
  return (
    <ProLayout
      logo={logo}
      /* 水印 */
      waterMarkProps={{
        content: '刘飞',
      }}
      /* 自定义头右部的 render 方法 */
      // rightContentRender={() => (
      //   <div>
      //     <Avatar shape="square" size="small" icon={<UserOutlined/>}/>
      //   </div>
      // )}
      /* 页脚 */
      footerRender={() => (
        <DefaultFooter
          links={[
            {
              key: 'AQ',
              title: '豫ICP备19019414号',
              href: 'https://beian.miit.gov.cn/#/Integrated/index',
              blankTarget: true
            },
            // {key: 'test2', title: 'layout2', href: 'www.alipay.com'},
          ]}
          copyright="Python小白编程"
        />
      )}
      onCollapse={handleMenuCollapse}
      breadcrumbRender={(routers = []) => routers}
      menuItemRender={(menuItemProps, defaultDom) => {
        return <Link to={menuItemProps.path}>{defaultDom}</Link>
      }}
      {...props}
      {...settings}>
      {children}
    </ProLayout>

  )
};

export default connect(({global, settings}) => ({collapsed: global.collapsed, settings}))(BasicLayout)
